package com.zykj.thread.collections;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

/**
 * @author zhoulj(周利军) [1217102780@qq.com]
 * @Module ID:   <(模块)类编号，可以引用系统设计中的类编号>
 * @Comments: <对此类的描述，可以引用系统设计中的描述>
 * @JDK version used:      <JDK1.8> 47
 * @since 2019/1/17-16:47
 */
public class ModifyForCollection {


    public static void main(String[] args) {

        List<String> list = new CopyOnWriteArrayList<>();

        list.add("JAVA");
        list.add("C++");
        list.add("Python");
        list.add("Net");

        /*for (String s : list) {
            if ("JAVA".equals(s)) {
                list.remove(s);
            }
        }
        */
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String va = iterator.next();
            if ("JAVA".equals(va)) {
                //TODO 用集合 remove 时 删除第一个和最后一个会报错
//                list.remove(va);

                //TODO 方法1： 使用iterator 方式删除 可以
//                iterator.remove();
                //TODO 方式2： 使用 CopyOnWriteArray可以实现
                list.remove(va);
            }
            System.out.println(va);
        }
        System.out.println("================================查看结果");
        for (String s : list) {
            System.out.println(s);
        }
    }
}
